package pos.domain;

import java.util.*;
import pos.data.*;

public class RutaAleatoria {
	private Calle calleIni;
	private Calle calleFin;
	private List<Calle> listaRuta = new ArrayList<Calle>();
	
	public RutaAleatoria(Calle calleIni, Calle calleFin) {
		super();
		this.calleIni = calleIni;
		this.calleFin = calleFin;
		setRuta();
	}
	
	public RutaAleatoria() {
		super();
		JDBCCalleDAO calleDao = new JDBCCalleDAO();
		JDBCEstacionDAO estacionDAO = new JDBCEstacionDAO();
		int idCalle = (int) (Math.random()*4000+1);
		calleIni = calleDao.selectByID(idCalle);
		calleIni.setEstaciones(estacionDAO.getEstacionesPorCalle(calleIni));
		idCalle = (int) (Math.random()*4000+1);
		calleFin = calleDao.selectByID(idCalle);
		calleFin.setEstaciones(estacionDAO.getEstacionesPorCalle(calleFin));
		setRuta();
	}

	private void setRuta(){
		int numCalles = (int) (Math.random()*15+1);
		JDBCCalleDAO calleDao = new JDBCCalleDAO();
		JDBCEstacionDAO estacionDAO = new JDBCEstacionDAO();
		
		for(int i=0;i<numCalles;i++){
			int idCalle = (int) (Math.random()*4000+1);
			Calle c = calleDao.selectByID(idCalle);
			c.setEstaciones(estacionDAO.getEstacionesPorCalle(c));
			listaRuta.add(c);
		}
	}

	public Calle getCalleIni() {
		return calleIni;
	}

	public void setCalleIni(Calle calleIni) {
		this.calleIni = calleIni;
	}

	public Calle getCalleFin() {
		return calleFin;
	}

	public void setCalleFin(Calle calleFin) {
		this.calleFin = calleFin;
	}

	public List<Calle> getListaRuta() {
		return listaRuta;
	}
}
